package com.xlh.service.problem;


import com.xlh.dto.PageDTO;
import com.xlh.dto.problem.ProblemDTO;
import com.xlh.dto.problem.ProblemExtDTO;
import com.xlh.param.problem.ForbiddenParam;
import com.xlh.param.problem.ProblemParam;
import com.xlh.param.problem.ProblemPostParam;
import com.xlh.param.problem.ReplyPostParam;
import com.xlh.pojo.problem.PcConfig;

import java.util.List;

/**
 * @author sy
 */
public interface ProblemCommunicationService {

    ProblemExtDTO listProblemPages(Integer pageNum, Integer pageSize, ProblemParam problemParam);

    PageDTO<ProblemDTO> listMyProblemPages(Integer pageNum, Integer pageSize, ProblemParam problemParam);

    ProblemDTO problemDetail(Long id);

    ProblemDTO myAnswerProblemDetail(Long id);

    PageDTO<ProblemDTO> listMyProblemReplyPages(Integer pageNum, Integer pageSize, ProblemParam problemParam);

    PageDTO forbiddenWordsListPage(Integer pageNum, Integer pageSize, ProblemParam problemParam);

    void forbiddenWords(ForbiddenParam param);

    void askQuestions(ProblemPostParam problemPostParam);

    void toAnswer(ReplyPostParam replyPostParam);

    void batchDeletionAnswer(List<Integer> ids);

    void batchDeletionQuestion(List<Integer> ids);

    PcConfig getProblemSwitch(Long courseId);

    void controlSwitch(PcConfig pcConfig);
}
